package compilador.ts;
/**
 * 
 * @author Juan Luis Martinez
 *
 */
public class EntradaTS {

	/**
	 * id del token segun la definicion en la clase Token
	 */	
	private int token;
	
	/**
	 * Valor interno del token
	 */
	private String lexema;
	
	/**
	 * Direccion de memoria en la que se almacenara el identificador, 
	 * si es una funcion contendra la direccion dentro del codigo(etiqueta)
	 */
	private int direccionMemoria;
	
	/**
	 * Tipo asociado al identificador, si no es un identificador el valor sera -1
	 * Sino, lo tipos son :
	 * entero = 1
	 * booleano = 2
	 */
	private TipoTS tipo;
	
	
	private int clase;
	
	//nivel donde fue declarada
	private int nivel;


	public EntradaTS(int token, String lexema, int direccionMemoria,
			TipoTS tipo,int clase,int nivel) {
		super();
		this.token = token;
		this.lexema = lexema;
		this.direccionMemoria = direccionMemoria;
		this.tipo = tipo;
		this.clase = clase;
		this.nivel = nivel;
	}


	/**
	 * @return the token
	 */
	public int getToken() {
		return token;
	}


	/**
	 * @param token the token to set
	 */
	public void setToken(int token) {
		this.token = token;
	}


	/**
	 * @return the lexema
	 */
	public String getLexema() {
		return lexema;
	}


	/**
	 * @param lexema the lexema to set
	 */
	public void setLexema(String lexema) {
		this.lexema = lexema;
	}


	/**
	 * @return the direccionMemoria
	 */
	public int getDireccionMemoria() {
		return direccionMemoria;
	}


	/**
	 * @param direccionMemoria the direccionMemoria to set
	 */
	public void setDireccionMemoria(int direccionMemoria) {
		this.direccionMemoria = direccionMemoria;
	}


	/**
	 * @return the tipo
	 */
	public TipoTS getTipo() {
		return tipo;
	}


	/**
	 * @param tipo the tipo to set
	 */
	public void setTipo(TipoTS tipo) {
		this.tipo = tipo;
	}


	public int getClase() {
		return clase;
	}


	public void setClase(int clase) {
		this.clase = clase;
	}


	public int getNivel() {
		return nivel;
	}


	public void setNivel(int nivel) {
		this.nivel = nivel;
	}


}
